package work_Experiment_3;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 34255
 * Date: 2024-12-14
 * Time: 14:48
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SimpleDrawingBoard {
    public static void main(String[] args) {
        // 创建主窗口
        JFrame frame = new JFrame("简单画板");
        frame.setSize(800, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 创建画布面板
        JPanel canvas = new JPanel();
        canvas.setBackground(Color.WHITE); // 设置背景为白色

        // 添加鼠标拖动事件监听器，实现绘图功能
        canvas.addMouseMotionListener(new MouseMotionAdapter() {
            public void mouseDragged(MouseEvent e) {
                // 在鼠标拖动时绘制一个小圆点
                canvas.getGraphics().fillOval(e.getX(), e.getY(), 5, 5);
            }
        });

        // 创建菜单栏
        JMenuBar menuBar = new JMenuBar();

        // 创建菜单
        JMenu menu = new JMenu("菜单");

        // 创建“关于”菜单项并添加事件监听器
        JMenuItem about = new JMenuItem("关于");
        about.addActionListener(e -> JOptionPane.showMessageDialog(frame, "简单画板\n作者: 实验报告", "关于", JOptionPane.INFORMATION_MESSAGE));
        menu.add(about); // 将“关于”菜单项添加到菜单中

        // 创建“清除画布”菜单项
        JMenuItem clear = new JMenuItem("清除画布");
        clear.addActionListener(e -> {
            canvas.repaint(); // 清空画布
        });
        menu.add(clear);

        // 创建“退出”菜单项
        JMenuItem exit = new JMenuItem("退出");
        exit.addActionListener(e -> {
            int confirm = JOptionPane.showConfirmDialog(frame, "确定要退出吗？", "退出", JOptionPane.YES_NO_OPTION);
            if (confirm == JOptionPane.YES_OPTION) {
                System.exit(0);
            }
        });
        menu.add(exit);

        // 将菜单添加到菜单栏
        menuBar.add(menu);
        frame.setJMenuBar(menuBar); // 设置窗口的菜单栏

        // 将画布添加到窗口
        frame.add(canvas);

        // 显示窗口
        frame.setVisible(true);
    }
}
